package com.example.secondhandshop.ui.adapter;

import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.bumptech.glide.Glide;
import com.example.secondhandshop.R;
import com.example.secondhandshop.bean.Item;

import java.util.List;

public class PostedGoodsAdapter extends RecyclerView.Adapter<PostedGoodsAdapter.ItemViewHolder> {
    private List<Item> itemList;

    public PostedGoodsAdapter(List<Item> itemList) {
        this.itemList = itemList;//商品列表
    }
    //为RecyclerView的每个item创建一个ViewHolder，ViewHolder将负责显示item的数据。
    // 在RecyclerView的onBindViewHolder方法中，将数据绑定到这个ViewHolder的视图。
    @NonNull
    @Override
    public PostedGoodsAdapter.ItemViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.product_list2, parent, false);//使用LayoutInflater 从item_layout布局文件中加载视图，并将其赋值给View对象view
        return new PostedGoodsAdapter.ItemViewHolder(view);//返回一个ItemViewHolder对象，该对象封装了item_layout布局中的视图和数据
    }


    //将数据绑定到ViewHolder的视图
    @Override
    public void onBindViewHolder(@NonNull ItemViewHolder holder, int position) {
        Item item = itemList.get(position);//表示当前ViewHolder在RecyclerView中的位置。
        //
        holder.productDescription.setText(item.getContent());
        holder.productPrice.setText("￥" + item.getPrice());


        // 加载商品图片
        if (!item.getImageUrlList().isEmpty()) {
            Glide.with(holder.itemView.getContext())
                    .load(item.getImageUrlList().get(0)) // 加载第一个图片
                    .placeholder(R.drawable.unknown_goods)
                    .into(holder.productImage);
        }
    }

    @Override
    public int getItemCount() {
        return itemList.size();
    }
    //ViewHolder用于缓存视图，以提高RecyclerView的性能
    static class ItemViewHolder extends RecyclerView.ViewHolder {
        // 定义视图元素
        TextView productDescription;//商品描述
        TextView productPrice;//商品价格
        ImageView productImage;//商品图片
        Button editButton;
        Button deleteOrderButton;//删除订单按钮

        public ItemViewHolder(@NonNull View itemView) {
            super(itemView);
            // 初始化视图元素
            productDescription = itemView.findViewById(R.id.productDescription2);
            productPrice = itemView.findViewById(R.id.productPrice2);
            editButton = itemView.findViewById(R.id.editButton);
            productImage = itemView.findViewById(R.id.productImage2);
        }
    }
}


